#include "motor.h"
#include "stm32f10x.h"
#include "pwm.h"

//电机管脚 ENA: PA0, IN1: PA1, IN2: PA2

//电机GPIO配置函数
void MotorGPIO_Configuration(void)
{		
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能GPIOA时钟
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //不确定
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 	
	GPIO_Init(GPIOA, &GPIO_InitStructure);    
}


//控制电机转动
void Motor_On(void)
{
	/* 电机顺时针转动（正转），小风扇转动 */
	GPIO_SetBits(GPIOA,GPIO_Pin_0);//使能ENA
	GPIO_SetBits(GPIOA,GPIO_Pin_1);//IN1=1
	GPIO_ResetBits(GPIOA,GPIO_Pin_2);//IN2=0
}


//控制电机停止
void Motor_Stop(void)
{	
	/* 电机处于制动状态，阻止小风扇转动 */
	GPIO_SetBits(GPIOA,GPIO_Pin_0);//使能ENA
	GPIO_ResetBits(GPIOA,GPIO_Pin_1);//IN1=0
	GPIO_ResetBits(GPIOA,GPIO_Pin_2);//IN2=0
}


//电机初始化
void MotorInit(void)
{
	MotorGPIO_Configuration();
	Motor_Stop();
}


//调整占空比驱动电机转动
void MotorSpeed(int Speed_Duty)
{
	u32 compare=Speed_Duty;
	TIM_SetCompare1(TIM2,compare);//修改比较值，修改占空比	
}



